<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>

<head>
<title>ComboDemo Network Simulation Example</title>
</head>

<body bgcolor="white">

<font face="Times">

<h2>ComboDemo Network Simulation Example</h2>

<hr width="100%">
<b><font size="+1"><i>Contents</i></font></b>
<DL>
<DT><a href="#overview">Overview</a>
<DT><a href="#behavior">Components and Behavior</a>
<DT><a href="#topology">Topology</a>
<DT><a href="#totals">Host and Router Totals</a>
</DL>
<hr width="100%">

<a name="overview">
<h3>Overview</h3>

<p align="justify">
This example demonstrates a network in which we combine and exercise
our implementations of TCP, OSPF and BGP, as well as Sockets, a
simplified IP, a network interface card (NIC) driver, and
client/server pseudoprotocols, among other things.
</p>

<a name="behavior">
<h3>Components and Behavior</h3>

<p align="justify">
This network consists of a central backbone with six (primary) routers
and 32 other hierarchically organized autonomous systems (ASes)
hanging off of these backbone routers.  Every AS is either a client
cluster (containing hosts which request data) or a server cluster
(containing hosts which serve the requests of the clients).  No
cluster contains both clients and servers.  The client and server
clusters are paired so that all requests from a particular client
cluster are to servers in the same server cluster.  (For example, Net
id 0 is a client cluster whose requests all go to the servers in Net
id 1.)  Except for the six backbone clusters (which form three
client/server cluster pairs amongst themselves), all of the other
client/server pairs are organized so that the client cluster and
server cluster are not close to each other.  The purpose of this is to
be sure that the traffic generated exercises all parts of the network.
</p>

<p align="justify">
Every router in the network is running OSPF for intra-domain routing,
and exactly one router in each AS is running BGP for inter-domain
routing.  Every host is running a (simplified) version of the IP
protocol (no fragmentation/reassembly) which underlies all packet
transfers.  All hosts are using TCP to manage end-to-end connections.
All hosts are also running a protocol to manage socket usage and
allocation.  Each client host is running a "client application" and
each server host is running a "server application" which make and
serve requests for data transfer.
</p>

<p align="justify">
Client applications start making requests 25 seconds into the
simulation, after giving the routing protocols ample time to set up
their forwarding tables.  They each make just one request, for 50,000
bytes, from a server in the associated server cluster.  They choose at
random uniformly from the server pool in that cluster.  When the
master server process at the server host receives a request, a slave
server process is opened to send the data.  Once a client receives all
of the data it requested, it declares success and closes its
connection.
</p>

<a name="topology">
<h3>Topology</h3>

<p align="justify">
Following is a graphical representation of the network topology,
including descriptions of the different symbols used in the images.
</p>

<center>
<img src="images/combo.jpg"><br>
<b><i>Autonous System Connectivity</i></b>
</center>

<p align="justify">
The <i>Autonomous System Connectivity</i> image above shows the layout
of the network in terms of autonomous systems.  Each circle is one AS.
The numbers are the id's of the Nets that encapsulate each AS in the
DML file.  Even-numbered ASes are client clusters, odd-numbered ones
are server clusters.  Each even-numbered client cluster is paired with
the server cluster with the following odd number. (0 is paired with 1,
2 is paired with 3, ..., 36 is paired with 37.) The six routers in the
middle (numbers 32 through 37) form the backbone.
</p>

<center>
<img src="images/client_network.jpg"><br>
<b><i>Client Cluster Network</i></b>
</center>

<p align="justify">
The <i>Client Cluster Network</i> image above shows the layout of each
client cluster AS.  The one rectangle with thick lines is the BGP
router which is linked to one or more other BGP routers in other ASes.
The other rectangles are non-BGP routers.  Every router runs OSPF,
including the one that also runs BGP.  Each oval is a LAN.  Each LAN
has two hosts, indicated by the small boxes.
</p>

<center>
<img src="images/server_network.jpg"><br>
<b><i>Server Cluster Network</i></b>
</center>

<p align="justify">
The <i>Server Cluster Network</i> image above shows the layout of each
server cluster AS.  The symbols used have the same meaning as in
the <i>Client Cluster Network</i> image.
</p>

<a name="totals">
<h3>Host and Router Totals</h3>

<p align="justify">
Each client cluster contains 14 hosts and 6 routers.<br>
Each server cluster contains 10 hosts and 4 routers.<br>
Exactly 1 router in each cluster is a BGP router.<br>
This makes for a totals of 14*19=266 client hosts,<br>
10*19=190 server hosts, 456 total hosts, and<br>
6*19+4*19=190 total routers.<br>
</p>


</font>

<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>


</body>
</html>
